home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr44 / tge141.zip / REVISION.HST < prev    next >
Text File  |  1995-01-23  |  20KB  |  445 lines

  1.  
  2.                           *** REVISION HISTORY ***
  3.  
  4. This file contains notes regarding changes to TGE since its initial
  5. release.
  6.  
  7.  
  8. Legend:
  9. +    Addition or improvement.
  10. !    Changed feature.
  11. -    Bug fix.
  12. *    New information.
  13.  
  14.  
  15. ---------------------------------------------------------------------------
  16. TGE version 1.41, released Monday 23 January 1995
  17. ---------------------------------------------------------------------------
  18.  
  19. -    TGE_AND_PUT, TGE_NOT_PUT, TGE_OR_PUT, and TGE_XOR_PUT now work
  20.      correctly with SVGA drivers.
  21.  
  22. -    Some users had problems using Borland's Turbo Link with the C++
  23.      portions of some earlier versions of TCG; the linker would be unable
  24.      to find certain functions, although they were present in the TCG
  25.      library files.  Sometimes the problem could be solved by changing some
  26.      compilation options; sometimes it couldn't. I've given up trying to
  27.      fix this problem by regular means; whenever I think I've fixed it, it
  28.      turns out that I haven't.  So, this version of TCG includes source
  29.      code for the C++ portions.  Users will be able to compile the source
  30.      on their machines, with their compiler configuration.  I hope that
  31.      this solution will eliminate this problem once and for all.
  32.  
  33.  
  34. ---------------------------------------------------------------------------
  35. TGE version 1.40, released Tuesday 03 January 1995
  36. ---------------------------------------------------------------------------
  37.  
  38. +    Added SVGA drivers which use VESA BIOS Extensions only.  These
  39.      drivers, VBE*.DRV, are for 640x400, 640x480, 800x600, 1024x768, and
  40.      1280x1024 resolutions.  They require VBEs version 1.0 or higher; if
  41.      VBEs 1.2 or newer are present and if the hardware supports it, the
  42.      video card will be switched into 8-bit palette mode, rather than the
  43.      VGA's default 6-bit mode.
  44.  
  45. -    Fixed a bug which caused displayPcxFile() to function incorrectly when
  46.      part of the image was off the left edge of the screen.
  47.  
  48. *    Added the USERSSAY.TXT and CATALOG.TXT files.
  49.  
  50. -    The promotePalette() and demotePalette() functions are now prototyped.
  51.  
  52. -    Fixed a bug which caused imageSize() and getImage() to not swap
  53.      coordinates correctly.
  54.  
  55. -    Fixed a bug in the new mouse handler which would, under very rare
  56.      occasions, cause garbage pixels to be written to the screen.
  57.  
  58. -    Fixed a bug which caused FixedFont to not work correctly under certain
  59.      circumstances.
  60.  
  61.  
  62. ---------------------------------------------------------------------------
  63. TGE version 1.33, released Monday 18 July 1994
  64. ---------------------------------------------------------------------------
  65.  
  66. *    ADDED PROMINENT NOTICES IN SEVERAL LOCATIONS, STATING THAT USERS MUST
  67.      DISABLE THE "FAR VIRTUAL TABLES" OPTION IN ORDER TO USE THE C++
  68.      PORTIONS OF TGE.  FAILURE TO DO SO WILL CAUSE LINKER ERRORS.
  69.  
  70. +    It is no longer necessary to disable the "Unsigned characters" option;
  71.      the font classes can now deal with either signed or unsigned char
  72.      parameters.
  73.  
  74. -    Fixed a bug in the VariableFont class which caused it to calculate the
  75.      height of a string incorrectly.
  76.  
  77. -    Fixed a long-standing horrible bug in the VESA BIOS extension SVGA
  78.      support.  Bank switching would not be performed correctly on video
  79.      cards with bank granularities other than 64 kb.
  80.  
  81. -    Fixed a minor bug in FIXFONT.CPP which caused the font loading routine
  82.      to allocate slightly too much memory.
  83.  
  84. +    Added the FixedFont::charAddr(char) function.  Given a character, this
  85.      function will return the address of the first byte of the character's
  86.      bitimage.
  87.  
  88. +    Added the replaceColour() routine, which is also callable as
  89.      replaceColor().
  90.  
  91.  
  92. ---------------------------------------------------------------------------
  93. TGE version 1.32, released Saturday 21 May 1994
  94. ---------------------------------------------------------------------------
  95.  
  96. *    TGE 1.31 reported that trouble existed when using Borland C++ 4.0 with
  97.      the VariableFont class; I speculated that it was due to a linker
  98.      version incompatability.  In fact, the problem occurred with all of
  99.      the C++ portions of TGE, and with all Borland C++ versions back to at
  100.      least 2.0.  The reason for the problem was that I had compiled the
  101.      library with the "Far virtual tables" option disabled, while some
  102.      users had this option enabled; why this option should have any effect
  103.      when TGE has no virtual functions is beyond me, but it does.  It is
  104.      also important to have the "Unsigned characters" option disabled, or
  105.      to cast all parameters to the font load() routines to signed char.
  106.  
  107. +    Added the getVertLine(), putVertLine(), and putVertLineInv()
  108.      functions; they are vertically-oriented versions of getLine(),
  109.      putLine(), and putLineInv().  To eliminate version incompatibility,
  110.      the getLine() function from earlier versions can now be called as
  111.      either getLine() or getHorizLine(), putLine() as either putLine() or
  112.      putHorizLine(), and putLineInv() as either putLineInv() or
  113.      putHorizLineInv().  Registered users may disable these new vertical
  114.      line functions by commenting out the TGE_USE_PUTVERTLINE #define in
  115.      the TGE.H file, then recompiling the library so these unused functions
  116.      will not occupy memory.
  117.  
  118. +    Fixed-sized fonts can now be loaded using a call to the new FixedFont
  119.      member function load(), as with the VariableFont class.  The older and
  120.      considerably more obnoxious method of loading through the class
  121.      constructor is still supported, but is no longer documented.
  122.  
  123. +    colourCloseTo(), colourCloseToX(), and MAXCOLOUR now have the synonyms
  124.      colorCloseTo(), colorCloseToX(), and MAXCOLOR, respectively, as a
  125.      courtesy to TGE users in the USA.
  126.  
  127. -    TGEDEMO would always look for ..\FONTS\BIGTEXT.FNT, regardless of the
  128.      value of the TGEFONTS environment variable.  Fixed.
  129.  
  130. +    Added the promotePalette() and demotePalette() functions, to make
  131.      dealing with 6-bit palettes easier.
  132.  
  133. +    Added the saveRawFile() function, so that TGE can now save as well as
  134.      load image files.
  135.  
  136.  
  137. ---------------------------------------------------------------------------
  138. TGE version 1.31, released Saturday 05 March 1994
  139. ---------------------------------------------------------------------------
  140.  
  141. +    Added the QUICKREF.DOC file.
  142.  
  143. !    Renamed the clipFilledRect() function to clipRect().
  144.  
  145. !    Renamed TGEFONT.CPP to FIXFONT.CPP and TGE.C to TGEFUNCS.C.
  146.  
  147. +    Registered users can now save up to about 22 kb of memory by
  148.      selectively commenting out a few #defines in TGE.H and compiling the
  149.      TGE library.  Following is a list of symbols and the features they
  150.      disable when they're not #defined:
  151.           TGE_USE_VIRTUAL_SCREENS       Virtual screen support
  152.           TGE_USE_OUTPUT_MODES          Output mode support
  153.           TGE_USE_REGION_FILLS          fillRegion()
  154.           TGE_USE_IMAGES                Bitmap-related functions
  155.           TGE_USE_ELLIPSES              ellipse- and circle-drawing
  156.           TGE_USE_COLOUR_APPROXIMATION  colourCloseTo() and
  157.                                         colourCloseToX()
  158.      The source for the disabled features is simply not compiled, and so
  159.      does not waste space in the executable or in memory.
  160.  
  161. -    Fixed a bug in setPaletteReg() and getPaletteReg() which caused the
  162.      two functions to confuse the green and blue colour components.  This
  163.      problem only showed itself in custom drivers which did not have
  164.      assembly versions of these routines.
  165.  
  166. -    imageSize() now clips to within the current input viewport, rather
  167.      than the output viewport.
  168.  
  169. -    Fixed a bug in TGEFUNCS.C's putImageInv() routine which would, under
  170.      very rare circumstances, cause the image to be output one line too low
  171.      down.
  172.  
  173. -    Fixed a bug in VARFONT.CPP which would cause VariableFont to become
  174.      confused when dealing with characters whose ASCII values were 128 or
  175.      higher.  Sometimes this confusion led to machine crashes.
  176.  
  177. +    Added some frequently used high-ASCII characters (ie. the lower-case
  178.      letters with accents on them) to BIGTEXT.FNT.
  179.  
  180. +    Added ANGULAR.FNT, a variable-sized font.  This font is available in
  181.      the registered version only.
  182.  
  183. *    Files which are not included in the shareware version of TGE are no
  184.      longer listed in the PACKING LIST section of TGE.DOC; they were marked
  185.      as present in the registered version only, but there was some
  186.      confusion anyway.
  187.  
  188. -    Fixed a bug in TGESETUP.C's TGE_loadFile() function.  If the file
  189.      FILE.EXT existed in the current directory, and TGE_loadFile was called
  190.      to load "FILE" with the assumed extension ".EXT", then the file would
  191.      not be found.
  192.  
  193. -    TGE no longer directly supports Chips & Tech SVGAs, as the support in
  194.      previous versions was buggy.  TGE will still support Chips & Tech
  195.      cards through VESA BIOS extensions, such as those provided by the
  196.      Universal VESA TSR.
  197.  
  198. *    Rewrote REGISTER.FRM, and renamed it to ORDER.FRM.
  199.  
  200.  
  201. ---------------------------------------------------------------------------
  202. TGE version 1.30, released Wednesday 05 January 1994
  203. ---------------------------------------------------------------------------
  204.  
  205. +    While debugging an application, I changed the 320x200 driver's
  206.      putLine() routine from the 32-bit code I'd recently written to a
  207.      slower byte-by-byte copying; I completely forgot to change it back
  208.      until after I'd released TGE 1.29ßD.
  209.  
  210. -    Fixed a problem in NEWMOUSE.ASM which caused the mouse sensitivity to
  211.      be incorrectly handled.
  212.  
  213. +    Added the PALETTE.C file, which contains the palette manipulation
  214.      routines fadePalette(), greyPalette(), rotatePalette().
  215.  
  216. +    Added the RAWFILE.C file, which contains the loadRawFile(),
  217.      displayRawFile(), and loadPalFile() routines.
  218.  
  219. +    Added the PCXFILE.C file, which contains the loadPcxFile(),
  220.      displayPcxFile(), and loadPcxFilePal() routines.
  221.  
  222. +    scaleBitmap() can now allocate memory for the scaled image, if
  223.      specified.
  224.  
  225. +    PCX2RAW now accepts wildcard filespecs, such as 'PCX2RAW pic*'.
  226.  
  227. -    Fixed a bug in NEWMOUSE.ASM which caused the minimum limits set by
  228.      setHorizLimitsMouse() and setVertLimitsMouse() to be ignored.
  229.  
  230. +    Added support for 256-colour fonts with characters of varying sizes,
  231.      by adding VARFONT.CPP.  A sample 256-colour font file, BIGTEXT.FNT, is
  232.      included.
  233.  
  234. +    Added MAKEFONT, a utility to create 256-colour fonts.  This utility is
  235.      in the TGE\UTIL directory.
  236.  
  237. !    Added the INCLUDE, DRIVERS, FONTS, and DEMO directories within \TGE,
  238.      and renamed the PCX2RAW directory to UTIL.  All drivers have been
  239.      moved to the DRIVERS directory; all fonts have been moved to the FONTS
  240.      directory; the demo program has been moved to the DEMO directory.
  241.  
  242. +    TGE now uses the environment variables TGEDRIVERS and TGEFONTS.  Now,
  243.      when loading drivers, if the specified driver file cannot be opened,
  244.      TGE will attempt to open it from the directory specified by the
  245.      TGEDRIVERS variable; similarly, loading fonts can be done
  246.      automatically from the directory specified by the TGEFONTS variable.
  247.  
  248. +    Added the Universal VESA TSR ("UNIVESA"), by Kendall Bennett, to the
  249.      TGE distribution package.  UNIVESA was not written by the author of
  250.      TGE, but is included with the TGE package as a courtesy to those
  251.      without VESA BIOS drivers for their SuperVGA cards.  It may also be of
  252.      use to TGE software developers, who are allowed to distribute UNIVESA
  253.      with their programs free of charge, so long as UNIVESA remains
  254.      unmodified.
  255.  
  256. -    TGE no longer directly supports Cirrus or Paradise SVGAs, as the
  257.      support in previous versions was buggy.  TGE will still support Cirrus
  258.      and Paradise cards through VESA BIOS extensions, such as those
  259.      provided by the Universal VESA TSR.
  260.  
  261. !    There are now two versions of TGE:  the shareware version and the
  262.      registered version.  The shareware version differs from the registered
  263.      version in that the source code is not included.
  264.  
  265. !    Renamed the Font class to FixedFont.  Some FixedFont member functions
  266.      have also been renamed; the changes are listed below, with the old
  267.      names on the left and the new names on the right:
  268.                wide                     width
  269.                maxWide                  maxWidth
  270.                deep                     height
  271.                maxDeep                  maxHeight
  272.      These changes were made because the old names were not as clear as the
  273.      new ones.  I apologize for any inconvenience these changes may cause.
  274.  
  275. +    Added the imageWidth() and imageDepth() routines, which are really
  276.      macros implemented in TGE.H.
  277.  
  278. !    Removed MAKELIB.BAT and TGE.LIB.  These files have been replaced with
  279.      BCL.LIB (Borland C++ large model), BCL.MAK (makefile for BCL.LIB),
  280.      BCH.LIB (Borland C++ huge model), and BCH.MAK (makefile for BCH.LIB).
  281.      Rather than using MAKELIB.BAT, these libraries may be generated by
  282.      running 'MAKE -fbcl.mak' or 'MAKE -fbch.mak'.
  283.  
  284.  
  285. ---------------------------------------------------------------------------
  286. TGE version 1.29ßD (public beta), released Saturday 11 September 1993
  287. ---------------------------------------------------------------------------
  288.  
  289. +    Fonts are now stored in memory in bit-image format, and converted on
  290.      the fly to byte-image format for display using putImageInv().  Font
  291.      speed is marginally degraded, but memory requirements for fonts are
  292.      significantly lowered.
  293.  
  294. -    The phone number to call to download the newest version of TGE has
  295.      been changed to the correct number.  Sorry about that...
  296.  
  297. -    TGE's assembler files will now assemble correctly with Turbo Assembler
  298.      version 3.0, and presumably with newer versions as well.
  299.  
  300. *    Moved the revision history from TGE.DOC to this file.
  301.  
  302. +    Added the clipInputPoint() and clipOutputPoint() macros for clipping
  303.      of points to either the input or the output viewport.
  304.  
  305. +    Added makefiles for TGEDEMO.EXE and TGE.LIB:  TGEDEMO.MAK and
  306.      TGELIB.MAK, respectively.  (TGELIB.MAK requires TGELIB.LST.)
  307.  
  308. +    Added an optimized assembler putLineInv_mem_copy routine to each of
  309.      the drivers.  This change will greatly speed up putImageInv()'s output
  310.      to virtual screens.
  311.  
  312. -    When outputting to a virtual screen using the 800x600 driver,
  313.      horizLine() will no longer erroneously output to the physical screen
  314.      rather than the virtual screen.
  315.  
  316. +    Moved a good deal of setup and initialization code from TGE.C to a new
  317.      file, TGESETUP.C.  If overlays are being used, TGESETUP.C can be
  318.      overlaid so that it won't need to be in memory at all times, freeing
  319.      up about 15 kb of memory.  TGE.C should not be overlaid under most
  320.      circumstances so that it performs at maximum speed.
  321.  
  322. +    Moved all of TGE into a single archive with sub-directories, rather
  323.      than the main archive and a separate archive within it for each
  324.      directory.  TGE129D.ARJ will need to be extracted with a procedure
  325.      similar to this:
  326.           md d:\tge
  327.           arj x tge129d d:\tge
  328.  
  329. -    TGE.DOC contained incorrect names for setGraphicsAddr(),
  330.      setGraphicsInputAddr(), and setGraphicsOutputAddr() functions, and did
  331.      not document getGraphicsInputAddr() or getGraphicsOutputAddr() at all.
  332.  
  333. !    Renamed setOutputMode() to setGraphicsOutputMode().
  334.  
  335. -    When run without a Microsoft or compatable mouse driver loaded,
  336.      TGEDEMO would display the sign-off screens twice upon exit.  Fixed.
  337.  
  338. -    The 320x240, 320x400, and 360x480 drivers did not preserve the value
  339.      of the DI register when clearGraphics() was called.  Fixed.
  340.  
  341. +    The drivers now use 32-bit 386 code in many more places, boosting
  342.      speed a bit.
  343.  
  344. +    Optimized the putPixel() code in the 320x240, 320x400, and 360x480
  345.      drivers.
  346.  
  347. +    Added the LIB directory, in which there is now a MAKELIB.BAT file to
  348.      automatically build TGE.LIB with your compiler.  There is also a copy
  349.      of TGE.LIB, built from OBJ files produced by Borland C++ 2.0 and Turbo
  350.      Assembler 3.0.
  351.  
  352. +    Fixed a bug in NEWMOUSE.ASM which would sometimes cause the wrong
  353.      memory areas to be used as the pointer image.
  354.  
  355.  
  356. ---------------------------------------------------------------------------
  357. TGE version 1.29ßC (public beta), released Friday 20 August 1993
  358. ---------------------------------------------------------------------------
  359.  
  360. +    Added support for virtual screens.
  361.  
  362. +    Added support for graphics output using COPY, AND, NOT, OR, and XOR,
  363.      even to virtual screens.
  364.  
  365. +    TGE can now output to and input from different places.  For example,
  366.      it is possible to use a virtual screen for its input whilst using the
  367.      real screen for its output, or vice-versa.  There are now separate
  368.      input and an output viewports.
  369.  
  370. +    Added the virtual coordinate system, via VCOORD.H.
  371.  
  372. -    Fixed a bug in NEWMOUSE.ASM which would, under rare circumstances,
  373.      corrupt portions of the screen.
  374.  
  375. !    To avoid memory problems, the palette is no longer saved/restored
  376.      automatically during text/graphics mode switches.
  377.  
  378. !    setBlockPalette() and getBlockPalette() are now no longer called with
  379.      the first register and the number of registers to change, but with the
  380.      first register and the last register.  This change could make some
  381.      future changes easier.
  382.  
  383. +    Improved documentation, describing the font file structure and how to
  384.      use the PCX2RAW utility and its output.
  385.  
  386. +    TGE can now scale bitmaps, using the scaleBitmap() function.
  387.  
  388. +    Added the imageSizeDim(), putLineInv(), and vertLine() functions.
  389.  
  390. -    Fixed a horrible SVGA bug which caused TGE to work incorrectly on all
  391.      SVGAs with bank sizes other than 64K.
  392.  
  393.  
  394. ---------------------------------------------------------------------------
  395. TGE version 1.20, released Wednesday 05 May 1993
  396. ---------------------------------------------------------------------------
  397.  
  398. +    Added support for loadable fonts, viewports, colour approximation, and
  399.      region fills.
  400.  
  401. !    Rewrote the loadGraphDriver() function; it now returns more
  402.      descriptive values.
  403.  
  404. +    Added various clipping routines:  clipLine() and clipFilledRect() in
  405.      CLIP.C, and clipPoint() and pointOnScreen() as macros in TGE.H.
  406.  
  407. -    Fixed aspect ratio problem in 360x480 driver.
  408.  
  409. -    Fixed bug in the 800x600 driver when run with the Trident 8900
  410.      chipset.
  411.  
  412. +    Added the REGISTER.FRM file.
  413.  
  414.  
  415. ---------------------------------------------------------------------------
  416. TGE version 1.10, released Friday 12 April 1993
  417. ---------------------------------------------------------------------------
  418.  
  419. -    Improved and debugged SuperVGA support.  Bugs squashed include the
  420.      infamous Trident and Oak bugs.
  421.  
  422. +    Added drivers for VGA 360x480 and SuperVGA 1024x768.
  423.  
  424. +    Added interrupt-driven definable mouse pointer services, as well as
  425.      miscellaneous mouse routines.
  426.  
  427. -    Fixed default palette routines to do translation between 6-bit and
  428.      8-bit values.
  429.  
  430. +    Added ellipse(), filledEllipse(), circle(), and filledCircle().
  431.  
  432. +    Added PCX2RAW, a utility to convert 256-colour PCX files into raw
  433.      bitmap and raw palette files, making importing graphics easy.
  434.  
  435.  
  436. ---------------------------------------------------------------------------
  437. TGE version 1.01, released Saturday 23 January 1993
  438. ---------------------------------------------------------------------------
  439.  
  440. *    First public release.
  441.  
  442.  
  443.  
  444. End of document.
  445.